﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;

namespace GiangDay
{
    public partial class FrCoVan : DevComponents.DotNetBar.OfficeForm
    {
        FunctionLinh fun = new FunctionLinh();
        DB db = new DB();
        public FrCoVan()
        {
            InitializeComponent();
        }

        private void FrCoVan_Load(object sender, EventArgs e)
        {
            //load giáo viên
            cbcoVanGV.DataSource = fun.laydanhsachgiaovien();
            cbcoVanGV.ValueMember = "MA_GV";
            cbcoVanGV.DisplayMember = "TEN_GV";

            //load lớp
            cbCoVanLop.DataSource = fun.loadLop();
            cbCoVanLop.ValueMember = "MA_LOP";
            cbCoVanLop.DisplayMember = "TEN_LOP";

            //load khoa
            cbCoVanKhoa.DataSource = fun.loadkhoa();
            cbCoVanKhoa.ValueMember = "MA_KHOA";
            cbCoVanKhoa.DisplayMember = "TEN_KHOA";

            //load học kỳ
            cbCoVanHK.DataSource = fun.loadhocky();
            cbCoVanHK.ValueMember = "MA_HK";
            cbCoVanHK.DisplayMember = "TEN_HK";

            dgCoVan.DataSource = fun.loadCV();

            cbcoVanGV.ResetText();
            cbCoVanLop.ResetText();
            cbCoVanKhoa.ResetText();
            cbCoVanHK.ResetText();
        }

        private void btThemCV_Click(object sender, EventArgs e)
        {
            btThemCV.Enabled = false;
            btLuuCV.Enabled = true;
            btHuyCV.Enabled = true;
            btSuaCV.Enabled = false;
            btXoaCV.Enabled = false;

            cbcoVanGV.ResetText();
            cbCoVanLop.ResetText();
            cbCoVanKhoa.ResetText();
            cbCoVanHK.ResetText();
        }

        private void dgCoVan_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dgCoVan.SelectedRows.Count==0)
            {
                return;
            }
            if (btThemCV.Enabled==false)
            {
                btThemCV.Enabled = true;
                btLuuCV.Enabled = false;
                btHuyCV.Enabled = false;
                btSuaCV.Enabled = true;
                btXoaCV.Enabled = true;

                cbcoVanGV.ResetText();
                cbCoVanLop.ResetText();
                cbCoVanKhoa.ResetText();
                cbCoVanHK.ResetText();
            }
            cbcoVanGV.Text = dgCoVan.Rows[dgCoVan.CurrentRow.Index].Cells["TEN_GV"].Value.ToString();
            cbCoVanLop.Text=dgCoVan.Rows[dgCoVan.CurrentRow.Index].Cells["TEN_LOP"].Value.ToString();
            cbCoVanKhoa.Text=dgCoVan.Rows[dgCoVan.CurrentRow.Index].Cells["TEN_KHOA"].Value.ToString();
            cbCoVanHK.Text = dgCoVan.Rows[dgCoVan.CurrentRow.Index].Cells["TEN_HK"].Value.ToString();
        }

        private void btHuyCV_Click(object sender, EventArgs e)
        {
            btThemCV.Enabled = true;
            btLuuCV.Enabled = false;
            btHuyCV.Enabled = false;
            btSuaCV.Enabled = true;
            btXoaCV.Enabled = true;

            cbcoVanGV.ResetText();
            cbCoVanLop.ResetText();
            cbCoVanKhoa.ResetText();
            cbCoVanHK.ResetText();
        }

        private void btLuuCV_Click(object sender, EventArgs e)
        {
            //kiểm tra dữ liệu
            if (cbcoVanGV.Text.Trim() == "")
            {
                MessageBox.Show("Giáo Viên không được rỗng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cbcoVanGV.Focus();
                return;
            }
            if (cbCoVanLop.Text.Trim() == "")
            {
                MessageBox.Show("Lớp không được rỗng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cbCoVanLop.Focus();
                return;
            }
            if (cbCoVanKhoa.Text.Trim() == "")
            {
                MessageBox.Show("Khoa không được rỗng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cbCoVanKhoa.Focus();
                return;
            }
            if (cbCoVanHK.Text.Trim() == "")
            {
                MessageBox.Show("Học kỳ không được rỗng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cbCoVanHK.Focus();
                return;
            }

            //kiểm tra tồn tại mã giáo viên
            if (db.ktra_tontai(cbcoVanGV.SelectedValue.ToString(), "MA_GV", "CO_VAN"))
            {
                MessageBox.Show("Giáo viên đã tồn tại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cbcoVanGV.Focus();
                return;
            }

            //kiểm tra tồn tại mã LỚP
            if (db.ktra_tontai(cbCoVanLop.SelectedValue.ToString(), "MA_LOP", "CO_VAN"))
            {
                MessageBox.Show("Lớp đã tồn tại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cbCoVanLop.Focus();
                return;
            }
            //kiểm tra tồn tại mã KHOA
            if (db.ktra_tontai(cbCoVanKhoa.SelectedValue.ToString(), "MA_KHOA", "CO_VAN"))
            {
                MessageBox.Show("Khoa đã tồn tại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cbCoVanKhoa.Focus();
                return;
            }
            ////kiểm tra tồn tại mã HỌC KỲ
            //if (db.ktra_tontai(cbCoVanHK.SelectedValue.ToString(), "MA_HK", "CO_VAN"))
            //{
            //    MessageBox.Show("Học kỳ đã tồn tại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            //    cbCoVanHK.Focus();
            //    return;
            //}

            fun.themCoVan(cbcoVanGV.SelectedValue.ToString(),cbCoVanLop.SelectedValue.ToString(),cbCoVanKhoa.SelectedValue.ToString(),cbCoVanHK.SelectedValue.ToString());
            dgCoVan.DataSource = fun.loadCV();
            btThemCV.Enabled = true;
            btLuuCV.Enabled = false;
            btHuyCV.Enabled = false;
            btSuaCV.Enabled = true;
            btXoaCV.Enabled = true;

            cbcoVanGV.ResetText();
            cbCoVanLop.ResetText();
            cbCoVanKhoa.ResetText();
            cbCoVanHK.ResetText();
        }

        private void btSuaCV_Click(object sender, EventArgs e)
        {
            if (cbcoVanGV.Text.Trim() == "")
            {
                MessageBox.Show("Chưa chọn Giáo viên cần sữa", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            //kiểm tra tồn tại mã giáo viên
            if (db.ktra_tontai(cbcoVanGV.SelectedValue.ToString(), "MA_GV", "CO_VAN"))
            {
                MessageBox.Show("Giáo viên đã tồn tại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cbcoVanGV.Focus();
                return;
            }

            //kiểm tra tồn tại mã LỚP
            if (db.ktra_tontai(cbCoVanLop.SelectedValue.ToString(), "MA_LOP", "CO_VAN"))
            {
                MessageBox.Show("Lớp đã tồn tại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cbCoVanLop.Focus();
                return;
            }
            //kiểm tra tồn tại mã KHOA
            if (db.ktra_tontai(cbCoVanKhoa.SelectedValue.ToString(), "MA_KHOA", "CO_VAN"))
            {
                MessageBox.Show("Khoa đã tồn tại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cbCoVanKhoa.Focus();
                return;
            }
            ////kiểm tra tồn tại mã HỌC KỲ
            //if (db.ktra_tontai(cbCoVanHK.SelectedValue.ToString(), "MA_HK", "CO_VAN"))
            //{
            //    MessageBox.Show("Học kỳ đã tồn tại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            //    cbCoVanHK.Focus();
            //    return;
            //}

            if (fun.suaCoVan(cbcoVanGV.SelectedValue.ToString(),cbCoVanLop.SelectedValue.ToString(),cbCoVanKhoa.SelectedValue.ToString(),cbCoVanHK.SelectedValue.ToString()))
            {
                dgCoVan.Rows[dgCoVan.CurrentRow.Index].Cells["TEN_GV"].Value = cbcoVanGV.SelectedValue.ToString();
                dgCoVan.Rows[dgCoVan.CurrentRow.Index].Cells["TEN_LOP"].Value = cbCoVanLop.SelectedValue.ToString();
                dgCoVan.Rows[dgCoVan.CurrentRow.Index].Cells["TEN_KHOA"].Value = cbCoVanKhoa.SelectedValue.ToString();
                dgCoVan.Rows[dgCoVan.CurrentRow.Index].Cells["TEN_HK"].Value = cbCoVanHK.SelectedValue.ToString();
            }

            cbcoVanGV.ResetText();
            cbCoVanLop.ResetText();
            cbCoVanKhoa.ResetText();
            cbCoVanHK.ResetText();
        }

        private void btXoaCV_Click(object sender, EventArgs e)
        {
            if (cbcoVanGV.Text.Trim()=="")
            {
                MessageBox.Show("Chưa chọn Giáo viên cần xóa", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;   
            }
            fun.xoaCoVan(cbcoVanGV.SelectedValue.ToString());
            dgCoVan.DataSource = fun.loadCV();

            cbcoVanGV.ResetText();
            cbCoVanLop.ResetText();
            cbCoVanKhoa.ResetText();
            cbCoVanHK.ResetText();
        }
    }
}